package com.smedi.ismedi.authoritymanagement.api.dto.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 新增设备准入审批入参
 *
 * @author xienannan
 * @date 2021/08/28
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "新增 元素 请求")
public class ElementCreateRequest implements Serializable {

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @NotNull(message = "名称不能为空")
    private String name;

    /**
     * 编码
     */
    @ApiModelProperty(value = "编码（唯一）")
    @NotNull(message = "编码不能为空")
    private String code;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String description;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    @NotNull(message = "类型不能为空")
    private String type;

    /**
     * 父id
     */
    @ApiModelProperty(value = "父id")
    private Long parentId;

    /**
     * 显示顺序（同级）
     */
    @ApiModelProperty(value = "显示顺序（同级）")
    private Long displayOrder;

    /**
     * 是否初始化（无条件默认显示该元素）
     */
    @ApiModelProperty(value = "是否初始化（无条件默认显示该元素）")
    private Boolean initial;

    /**
     * 业务 token
     */
    @ApiModelProperty(value = "业务 token")
    @NotBlank(message = "业务 token不能为空")
    private String businessToken;
}
